package com.system.boot.rbac.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.system.api.rbac.entity.po.SysPermission;
import com.system.api.rbac.entity.vo.PermissionListVo;
import org.yang.common.core.exception.BaseException;
import org.yang.database.orm.entity.Options;

import java.util.List;

/**
 *  
 * @author: lslands
 * @description:   
 * @version：v1.0
 * @date:    2024/6/13 14:02
 */
public interface PermissionService extends IService<SysPermission> {

    /**
     * 判断名称和编码是否重复
     * @param companyId 企业Id
     * @param variable 判断字段实体
     * @param param 被判断字段参数
     * @author lslands
     * @date 2024/5/16 00:57
     * @throws BaseException 字段重复异常、空指针异常
     */
    void isExists(Long companyId,String variable,String param) throws BaseException;

    /**
     * 权限列表
     * @param companyId 企业ID
     * @param roleCodes 角色编码
     * @return 权限列表
     */
    List<Options<Integer>> listOptions(Long companyId, List<String> roleCodes) throws BaseException;


}
